//package com.pucong.gitee.database.backup.business.websocket;
//
//import com.pucong.gitee.database.backup.business.service.util.cmdOs.WebSSHService;
//import com.pucong.gitee.database.backup.common.entity.service.SSHConnectInfo;
//import com.pucong.gitee.database.backup.utils.ApplicationContextUtil;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.stereotype.Component;
//
//import javax.websocket.*;
//import javax.websocket.server.ServerEndpoint;
//import java.util.Map;
//import java.util.concurrent.ConcurrentHashMap;
//
//
//@Slf4j
//@ServerEndpoint(value = "/websocket/file")
//@Component
//public class WebSocketFile {
//
//    //存放ssh连接信息的map
//    private static Map<String, Session> socketMap = new ConcurrentHashMap<>();
//
//    /**
//     * 连接建立成功调用的方法
//     */
//    @OnOpen
//    public void onOpen(Session session) {
//        log.info("用户:{},连接WebSSH", session.getId());
//        getBean();
//        socketMap.put(session.getId(), session);
//    }
//
//    /**
//     * 连接关闭调用的方法
//     */
//    @OnClose
//    public void onClose(Session session) {
//        log.info("有一连接关闭：{}", session.getId());
//        getBean();
//        String id = session.getId();
//        //map中移除
//        socketMap.remove(id);
//    }
//
//    /**
//     * 收到客户端消息后调用的方法
//     *
//     * @param message 客户端发送过来的消息
//     */
//    @OnMessage
//    public void onMessage(String message, Session session) {
//        log.info("用户:{},发送命令:{}", session.getId());
//        getBean();
//        //调用service接收消息
//        webSSHService.recvHandle(message, session);
//    }
//
//    @OnError
//    public void onError(Session session, Throwable error) {
//        log.error("发生错误", error);
//    }
//
//    private void getBean() {
//        if (webSSHService == null) {
//            webSSHService = (WebSSHService) ApplicationContextUtil.getBean(WebSSHService.class);
//        }
//    }
//}
